package school.dao;

import org.apache.ibatis.annotations.Param;
import school.entity.Student;


import java.util.Date;
import java.util.List;
import java.util.Map;

public interface StudentMapper {
    public List<Student> findALL();
    public int add(Student s);
    public int modify(Student s);
    public int del(long id);
    //根据学号查询单个学生的全部信息
    public Student get(long stuno);
    //分页查询
    public List<Student> find(@Param("name") String name, @Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    /**
     *
     * @param pageNo  页号
     * @param pageSize  大小
     * @param sname  姓名模糊查找
     * @param qq      qq模糊查找
     * @param wechat   手机号模糊查找
     * @return
     */
    //public List<Student> search(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize, @Param("sname") String sname, @Param("qq") String qq, @Param("wechat") String wechat);

    public List<Student> search(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize, @Param("Mstus") Map<String,String> ps);

   // public int findTotal(@Param("sname") String sname,@Param("qq") String qq,@Param("telephone") String telephone,@Param("stardate") Date stardate, @Param("enddate") Date enddate);//符合条件的个数

    public int findTotal(@Param("Mstus") Map<String,String> ps,@Param("stardate") Date stardate, @Param("enddate") Date enddate);//符合条件的个数
    //public List<Student> findTotal1(@Param("sname") String sname,@Param("qq") String qq,@Param("telephone") String telephone,@Param("stardate") Date stardate, @Param("enddate") Date enddate);//符合条件

    public List<Student> findTotal1(@Param("Mstus") Map<String,String> ps,@Param("stardate") Date stardate, @Param("enddate") Date enddate,@Param("pageNo") int pageNo, @Param("pageSize") int pageSize);//符合条件

   public List<Student> findStu(@Param("stus") int[] gradeid);

   public List<Student> findStuSex(@Param("sex") int id);
   //查找学生还有成绩
    public List<Student> findStus();

    //查找自己想要的内容
    public List<Student> queryCols(@Param("orderBy") String orderBy,@Param("colnames")String...colnames);

    public List<Map> queryNiub(@Param("tableName") String tableName,@Param("cols")String[]cols);
}
